<?php
if (!$oDB) {
  include_once 'class.Sessao.php';
  $oDB = Sessao::abreConexaoDB('mysql', 'lojavirtual');
}
class Carrinho {

  public function __construct() {

  }

  public function addProduto($id_produto, $qtd = 1){
    $_SESSION['CARRINHO']['PRODUTOS'][$id_produto] += $qtd;
    $this->atualizaValorTotal();
  }

  public function removeProduto($id_produto, $qtd = 1){
    $_SESSION['CARRINHO']['PRODUTOS'][$id_produto] -= $qtd;
    if ($_SESSION['CARRINHO']['PRODUTOS'][$id_produto] <= 0) {
      unset($_SESSION['CARRINHO']['PRODUTOS'][$id_produto]);
    }
    $this->atualizaValorTotal();
  }

  public function atualizaProduto($id_produto, $qtd = 1){
    $_SESSION['CARRINHO']['PRODUTOS'][$id_produto] = $qtd;
    if ($_SESSION['CARRINHO']['PRODUTOS'][$id_produto] <= 0) {
      unset($_SESSION['CARRINHO']['PRODUTOS'][$id_produto]);
    }
    $this->atualizaValorTotal();
  }

  public function atualizaValorTotal(){
    global $oDB;

    unset($_SESSION['CARRINHO']['VALOR_TOTAL']);
    foreach ($_SESSION['CARRINHO']['PRODUTOS'] as $iId => $iQtd){
      $sSQL = 'SELECT vlr_produto FROM produtos WHERE id_produto = '. $iId;
      $oRes = $oDB->execute($sSQL);

      $fValor = $oRes->fields['vlr_produto'];
      $_SESSION['CARRINHO']['VALOR_TOTAL'] += $fValor * $iQtd;
    }
  }

  public function mostraCarrinho(){
    global $oDB;

    if($_SESSION['CARRINHO']['VALOR_TOTAL'] == 0){
      echo "Nada no seu carrinho.";
      return false;
    }
    echo "<table class=\"dados_carrinho\">";
    foreach ($_SESSION['CARRINHO']['PRODUTOS'] as $iId => $iQtd){
    $sSQL = "SELECT nome FROM produtos WHERE id_produto = ". $iId;
    $oRes = $oDB->execute($sSQL);

?>
      <tr>
        <th><?php echo $oRes->fields['nome']; ?></th>
        <td>&nbsp;&nbsp;&nbsp;<?php echo $iQtd ?>x</td>
      </tr>
<?php
    }
    echo "</table>";
    echo "Total: R$ ". number_format($_SESSION['CARRINHO']['VALOR_TOTAL'],2,',','.');
  }
}
?>
